前回までは、Civ4ですでに存在するもの(ユニット、指導者など)のパラメータを変更するMODについて説明してきました。
最終回となる(はずの)今回は、そこから一歩踏み出して、新しい存在を追加するMODを作ろうと思います。
文明の追加、ユニットの追加、指導者の追加、テクノロジーの追加、宗教の追加、志向の追加…。MODによって、さまざまなものを追加することができます。わくわくしますね。
一般論としては、どれも同じような考え方で追加することができます。
新しい○○を作りたいと思ったら、○○について記述したXMLファイルに、新しいものの情報をワンセット追加するのです。今までのパラメータ変更MODのようにXMLファイルの一部を「書きなおす」のではなく、書き足せばよいわけです。
ただし、情報を追加するXMLファイルは一つだけとは限りません。○○そのものの情報だけでなく、各国語での名称やシヴィロペディアやグラフィックに関する情報も追加しなければならないことが多いです。
編集すべきファイルが多岐にわたるという点において、新しいものを追加するMODは、既存のパラメータを変更するMODよりも作成が難しいと言えるでしょう。
しかし、恐れることはありません。そのためのガイドは、すでにこのWikiに存在します。ここまで読んだ人なら、すでにお気づきでしょうか。
作成情報の「XML編集」を活用すればよいのです!
各ページに、編集すべきファイルと、その関係や各パラメータの意味がまとめられています。先人の知恵をありがたく活用しましょう。
新しい文明を追加したいなら文明の編集を、新しい宗教を追加するなら宗教の編集を見ればよい、という寸法です。
能書きはこのぐらいにして、実践に入るとしましょう。
「織田信長」を、新指導者として追加する。
いまから作るMODは、これです。
MODの名称は"Nobunaga"、対応バージョンはBtSとします。いつも通り、MODのためのフォルダ"Nobunaga"を新規作成*1し、MOD作成を始めましょう!
新しい指導者を追加するためには、何を作ればいいのか。前節「一般論」で述べた通り、それを作成情報の中から該当するページを見れば、それを知ることができます。
今回は指導者追加MODなので、見るのは、指導者の編集。必要な情報は、ここにほぼ網羅されています。
さて、今回編集するのはどのファイルでしょうか。 編集対象ファイル を読みましょう。ただし、そこに注意されている通り、BtSの場合やMODの置き場所次第で読みかえが必要になります。
今回の場合、コピー元のファイルは以下の通りとなります。
基本的な考え方は今までと同じで、難しいことではありません。「BtSインストールディレクトリ内のAssets以下にあるファイルのうち、MODによる変更・追加を行うものを、MODS\Nobunaga以下にディレクトリ構造を保ったままコピーする」ということです。
ただし、Textフォルダ内のファイル(4~6番目)については、コピーしたものを改変するのではなく、別ファイルを作ってしまうという変則的な方法をとります。詳しくは次回説明します。
次に、織田信長のデータを作っていきます。
指導者のデータは大きく分けて、人間プレイヤーが使うときのものと、AI指導者である場合のみ使われる思考傾向等のパラメータとがあります。
まずは、プレイヤーが信長を使う場合を考えてみましょう。といっても、考える項目は少ないです。彼が率いる文明と、志向だけですね。
文明は言うまでもなく日本です。したがってユニークユニットは侍、ユニーク建築物はシェール油精製施設*4となります。*5
信長の志向は…何でしょうか。歴史マニアならずとも、人それぞれのこだわりがあるところでしょう。筆者*6なりに、Civ4に織田信長がいたらどんな指導者だろうかと想像すると…
そこで今回は、織田信長の志向を次のように決めます。*7
プレイヤーが使う場合、必要なデータはこれだけです。一方、AIが使う場合は、その思考ルーチンに関わる何十ものパラメータを決めなければなりません。
それらのデータを行き当たりばったりで作るのもちょっと面白みに欠ける気がします。一般論としてですが、研究も軍事も遺産も何にでも手を出そうとすると、特徴のない指導者になってしまったり、前回紹介した「AIコロスケはなぜ弱い?」のようなちぐはぐな物になってしまう場合があります。
せっかく信長という個性的な人物を使うのですから、AIにも信長らしい個性を持たせてみましょう。信長を連想させるようなAI、大まかな方向性としては…。
制覇に向けた戦争とテクノロジーを重視。「帝国・金融」という志向を活かすという意味でも、こういう方向性でAIを作ることにします。
信長の志向とAIの概要が決まったところで、いよいよXML編集に入りましょう。\MODS\Nobunaga フォルダにコピーした7つのファイルを編集していきます。まずは CIV4LeaderHeadInfos.xml から手をつけていきますが…。
新指導者のデータを入力するにあたって、XMLのタグと内容をすべて自分の手で入力するという方法は良いとは言えません。時間もかかりますし、必要なタグを入力し忘れたりタグ名の打ち間違いも起こりがちです。
こういう場合、既存の指導者ひとりのデータをコピーしてファイル内に貼り付けたあと、データを修正するという方法が、効率・正確性の点で良いでしょう。
XMLエディタで、MODS\Nobunaga フォルダ内の CIV4LeaderHeadInfos.xml を開きましょう。前回説明した通り、このファイル内では、<LeaderHeadInfo>がたくさん並列に並んでおり、一つひとつの<LeaderHeadInfo>~</LeaderHeadInfo>の間(左のツリーででは"LeaderHeadInfo"フォルダに相当します)にそれぞれ一人の指導者のデータが詰まっています。
そこで、指導者のうち適当な一人を選んで、そのデータコピーします。コピー元は誰でもよく*10、同じ日本の徳川家康でもよいと思いますが、今回は、先ほど述べたAI信長の特徴(戦争屋だが研究も早い)に近いと思われるハンニバルを選びました。AI用パラメータの編集は項目が多くて大変なため、新指導者を作るにあたっては、性向が近いと思われるAIのデータを下敷きにすることをお勧めします。
XMLEditor.NET を使っている場合、ハンニバルのデータが入った LeaderHeadInfo フォルダ*11を右クリックして「コピー」します(上のスクリーンショット)。
そして、最後のLeaderHeadInfoフォルダを右クリックして「貼り付け(次ノード)」*12。
これで、このファイルの末尾に、ハンニバルのデータが入ったもう一つの LeaderHeadInfo ができあがりました。
あとは、このデータを織田信長のものに書き換えていくだけです。
指導者の編集・CIV4LeaderHeadInfos.xml の表の内容とにらめっこして、XMLファイルの中を書き換えていきましょう。
最初は、表で黄色く塗られている<Type>,<Description>, <Civilopedia>,<ArtDefineTag> の4つです。
まず<Type>タグの内容を、LEADER_HANNIBALからLEADER_NOBUNAGAに変更します。他の3つも、HANNIBALの部分をNOBUNAGAに書き換えます。
これらは「キー」です。
キー、つまり識別するための記号ですから、全体での整合性さえ保たれていれば、キー自体は何でもかまいません。「徳川家康の指導者キーが "LEADER_TOKUGAWA" ですから、信長も "LEADER_ODA" にしたほうが良いのでは?」と思う人は、その通りにしてください。重ねて言いますが、他の場所での内容と整合するよう注意!
次に、信長の志向を入力しましょう。
やり方は、前回のシャルルマーニュの時に説明しました。<Traits>タグの下にある2つの<TraitType>を、次のようにします。
この節では、AIが信長を担当する場合の思考に関するデータを入力します。
ここは、手間のかかる部分です。「AI信長の性格にはこだわらない。ハンニバルのままでも別によい」という方は、ここを飛ばして、次項以降に進んだほうが良いかもしれません。
AI部分を抜きにしていったん完成させ、信長を操作してテストプレイしたあと、ここに戻って、以下の修正を施す、という方法をとるのも良いでしょう。
順番が前後しますが、指導者の編集・CIV4LeaderHeadInfos.xml の表で、今まで手を付けていなかったところを編集します。
項目がたくさんあって大変ですね。表の説明だけでは数値が分かりづらいでしょうから、具体例として、Civ4に実在する指導者のパラメータを 指導者の性格 *13で見て参考にすると良いでしょう。
AIハンニバルのパラメータを下敷きにして、以下の点を変更することにします。先に述べた方向性を踏まえて、「ハンニバルよりも技術取引に積極的」、「国教にこだわらない」の2点を意識しています。
余談:たくさんあるAIパラメータの中でも、特に重要なのは以下の6つだと思います。内政屋、戦争屋といった性格づけに大きく作用しますので、今後AIをデザインする際にはこれらに注意してください。(宗教などの態度ボーナス・ペナルティなど、他にも重要なものがありますが…)
DemandTributeAttitudeThreshold以降のタグの内容は、外交において態度が○○以上であれば云々、という条件を記述したものです。取引に必要な態度を参考にしてください。態度を表すキーはキー一覧・外交態度の通りです。
これを、次のように変更します。
これは、地図交換に応じる態度に関するパラメータです。
注意すべきなのは、これは地図交換を「拒否」する態度だということ。つまりATTITUDE_PLEASED(不満はない)ではダメで、「親しみを感じている」相手にしか信長は地図を提供してくれません。*15
次は、AIの好む社会制度・<FavoriteCivic>です。
信長が好む社会制度は自由市場。したがって、<FavoriteCivic>タグの値はCIVIC_FREE_MARKETのままにしておきます。
次の<Flavors>は、AIの好む技術です(前回のAIパカルMODでも触れました)。
ハンニバルの好みは軍事5、経済2。信長もこのままにしておきます。
その後、 <ContactRands> から <MemoryAttitudePercents> までは外交の行い方および各種態度ボーナス・ペナルティに関する値のようですが、項目が非常に多いため、今回は変更せずにハンニバルのデータをそのまま採用します。*16
次の<NoWarAttitudeProbs>、<UnitAIWeightModifiers>、<ImprovementWeightModifiers>の3つについても、意味および挙動が十分に解明されていないため、変更しないでおきます。
だんだんグダグダになってきてますね…(笑)。
CIV4LeaderHeadInfos.xmlの編集も大詰めです。
最後に、 <DiplomacyIntroMusicPeace> から <DiploMusicWarEra> までは、外交に使われる音楽を決めるものです。
和風音楽が相応しいと思いますので、この部分は徳川家康の同位置のデータをコピーしましょう。
徳川家康の中の <DiplomacyIntoMusicPeace> をコピーします。*17
そして、信長の <DiplomacyIntoMusicPeace> に貼り付け(次ノード)をします。
そうしたら、もともとの信長の <DiplomacyIntoMusicPeace> (ハンニバルからコピーしてきたもの)を削除してしまいましょう。
次の <DiplomacyMusicPeace> についても同様にします。
あとの<DiplomacyIntroMusicWar>と<DiplomacyMusicWar>については、徳川とハンニバルとで差が無いようなので、この作業を省略していいでしょう。
これでようやく、CIV4LeaderHeadInfos.xml の書き換え作業が完了しました!ファイルを保存しましょう。
…「その4」が最終回のはずだったのですが…終わりませんでした。ごめんなさい。慣れれば簡単なはずのことですが、丁寧に説明しているため長くなってしまったようです。
信長MODはまだ完成していません。次回こそ完成させ、MODの公開などについて説明したうえで、「はじめてのMOD作り」を完結させるつもりです。
お読みくださり、ありがとうございました。ではまた次回!
「はじめてのMOD作り その5」に続く